<?php
/**
 * 注：此模板为自动生成模板，需要根据实际情况调整修改
 * 此模板对 无主键/单一主键 表的支持较好，联合主键表在下一版本开发
 */
namespace Data;

use Utils\MyException;

class Tree_admin_user {

    //数组
    private $array;


    public function __construct ($array){

        $this->array = $array;

        self::setDefault();

    }

    public function getArray() {
        return $this->array;
    }

    public function updateWithArray($array) {
        foreach($array as $key=>$value)
        {
            if(array_key_exists($key,$this->array))
            {
                $this->array = array_merge($this->array,array($key=>$value));
            }
        }
    }



    private function setDefault(){

        if(count($this->array)==0){
            self::setID("null");
            self::setNAME("");
            self::setPASSWORD("");
            self::setRANK("0");
            self::setPAGE("");
            self::setSTATE("0");
            self::setCREATED_ON("");
            self::setCREATED_BY("0");
            self::setUPDATED_ON("");
            self::setUPDATED_BY("0");

        }
    }






    public function setID($value) {
        $this->array = array_merge ($this->array,array(
            'ID' => $value));
    }
    public function getID(){

        return $this->array ['ID'];
    }


    public function setNAME($value) {
        $this->array = array_merge ($this->array,array(
            'NAME' => $value));
    }
    public function getNAME(){

        return $this->array ['NAME'];
    }


    public function setPASSWORD($value) {
        $this->array = array_merge ($this->array,array(
            'PASSWORD' => $value));
    }
    public function getPASSWORD(){

        return $this->array ['PASSWORD'];
    }


    public function setRANK($value) {
        $this->array = array_merge ($this->array,array(
            'RANK' => $value));
    }
    public function getRANK(){

        return $this->array ['RANK'];
    }


    public function setPAGE($value) {
        $this->array = array_merge ($this->array,array(
            'PAGE' => $value));
    }
    public function getPAGE(){

        return $this->array ['PAGE'];
    }


    public function setSTATE($value) {
        $this->array = array_merge ($this->array,array(
            'STATE' => $value));
    }
    public function getSTATE(){

        return $this->array ['STATE'];
    }


    public function setCREATED_ON($value) {
        $this->array = array_merge ($this->array,array(
            'CREATED_ON' => $value));
    }
    public function getCREATED_ON(){

        return $this->array ['CREATED_ON'];
    }


    public function setCREATED_BY($value) {
        $this->array = array_merge ($this->array,array(
            'CREATED_BY' => $value));
    }
    public function getCREATED_BY(){

        return $this->array ['CREATED_BY'];
    }


    public function setUPDATED_ON($value) {
        $this->array = array_merge ($this->array,array(
            'UPDATED_ON' => $value));
    }
    public function getUPDATED_ON(){

        return $this->array ['UPDATED_ON'];
    }


    public function setUPDATED_BY($value) {
        $this->array = array_merge ($this->array,array(
            'UPDATED_BY' => $value));
    }
    public function getUPDATED_BY(){

        return $this->array ['UPDATED_BY'];
    }


    public function toInsertCSV() {
        $str="";

        // ID
        $str .= self::getID().",";
        // NAME
        $str .= "'". self::getNAME()."',";
        // PASSWORD
        $str .= "'". self::getPASSWORD()."',";
        // RANK
        $str .= "'". self::getRANK()."',";
        // PAGE
        $str .= "'". self::getPAGE()."',";
        // STATE
        $str .= "'". self::getSTATE()."',";
        // CREATED_ON
        $str .= "now()" . ",";

        // CREATED_BY
        $str .= "'". self::getCREATED_BY()."',";
        // UPDATED_ON
        $str .= "now()" . ",";

        // UPDATED_BY
        $str .= "'". self::getUPDATED_BY()."'";
        return $str;
    }



    public function toUpdateSet() {
        $str="";

        // NAME
        $str.= '`NAME` = "' . self::getNAME() . '",';

        // PASSWORD
        $str.= '`PASSWORD` = "' . self::getPASSWORD() . '",';

        // RANK
        $str.= '`RANK` = "' . self::getRANK() . '",';

        // PAGE
        $str.= '`PAGE` = "' . self::getPAGE() . '",';

        // STATE
        $str.= '`STATE` = "' . self::getSTATE() . '",';

        // CREATED_ON
        $str.= '`CREATED_ON` = "' . self::getCREATED_ON() . '",';

        // CREATED_BY
        $str.= '`CREATED_BY` = "' . self::getCREATED_BY() . '",';

        // UPDATED_ON
        $str .= "UPDATED_ON = now()," ;

        // UPDATED_BY
        $str.= '`UPDATED_BY` = "' . self::getUPDATED_BY(). '"';
        return $str;
    }



    public function toUpdateWhere(){
        $str = "";
        $str .= "`ID` = '" . self::getID()."'";
        return $str;
    }

}



